package com.northpool.operator.common.algorithm.bean;

import com.northpool.stpclient.operator.bean.ParamBean;

import javax.xml.bind.annotation.*;
import java.util.LinkedList;
import java.util.List;

@XmlRootElement(
        name = "plugin"
)
@XmlAccessorType(XmlAccessType.FIELD)
public class PluginBean {
    @XmlElement(
            name = "name"
    )
    String name;
    @XmlElement(
            name = "version"
    )
    String version;
    @XmlElement(
            name = "description"
    )
    String description;
    @XmlElement(
            name = "writer"
    )
    String writer = "piesat";
    @XmlElement(
            name = "manual"
    )
    Boolean manual = false;
    @XmlElement(
            name = "maxtime"
    )
    String maxtime = "240000";
    @XmlElementWrapper(
            name = "OSes"
    )
    @XmlElement(
            name = "OS"
    )
    List<OsBean> OSes;
    @XmlElement(
            name = "CPU"
    )
    String CPU = "1";
    @XmlElement(
            name = "GPU"
    )
    String GPU = "0";
    @XmlElement(
            name = "disk"
    )
    String disk = "0.3g";
    @XmlElement(
            name = "memory"
    )
    String memory = "40M";
    @XmlElement(
            name = "run"
    )
    String run;
    @XmlElementWrapper(
            name = "startParam"
    )
    @XmlElement(
            name = "param"
    )
    List<ParamBean> startParam = new LinkedList<>();

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getVersion() {
        return version;
    }

    public void setVersion(String version) {
        this.version = version;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public String getWriter() {
        return writer;
    }

    public void setWriter(String writer) {
        this.writer = writer;
    }

    public Boolean getManual() {
        return manual;
    }

    public void setManual(Boolean manual) {
        this.manual = manual;
    }

    public String getMaxtime() {
        return maxtime;
    }

    public void setMaxtime(String maxtime) {
        this.maxtime = maxtime;
    }

    public List<OsBean> getOSes() {
        return OSes;
    }

    public void setOSes(List<OsBean> OSes) {
        this.OSes = OSes;
    }

    public String getCPU() {
        return CPU;
    }

    public void setCPU(String CPU) {
        this.CPU = CPU;
    }

    public String getGPU() {
        return GPU;
    }

    public void setGPU(String GPU) {
        this.GPU = GPU;
    }

    public String getDisk() {
        return disk;
    }

    public void setDisk(String disk) {
        this.disk = disk;
    }

    public String getMemory() {
        return memory;
    }

    public void setMemory(String memory) {
        this.memory = memory;
    }

    public String getRun() {
        return run;
    }

    public void setRun(String run) {
        this.run = run;
    }

    public List<ParamBean> getStartParam() {
        return startParam;
    }

    public void setStartParam(List<ParamBean> startParam) {
        this.startParam = startParam;
    }
}
